home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_xemacs.idb / usr / freeware / lib / xemacs-20.4 / lisp / site-load.el.z / site-load.el
Encoding:
Text File  |  1998-05-21  |  2.3 KB  |  63 lines

  1. ;;; site-load.el --- Template file for site-wide XEmacs customization
  2. ;; Copyright (C) 1997 Free Software Foundation, Inc.
  3.  
  4. ;; Author: Steven L. Baur <steve@altair.xemacs.org>
  5. ;; Keywords: internal
  6.  
  7. ;; This file is part of XEmacs.
  8.  
  9. ;;; Commentary:
  10.  
  11. ;; This is a prototype site-load.el file.
  12. ;; The site-load.el mechanism is provided so XEmacs installers can easily
  13. ;; dump lisp packages with XEmacs that do not get dumped standardly.
  14.  
  15. ;; The file `site-packages' if it exists should look something like:
  16. ;; (setq site-load-packages '(
  17. ;; "../lisp/modes/cc-mode"
  18. ;; "../lisp/utils/redo"
  19. ;; "../lisp/packages/scroll-in-place"
  20. ;; )
  21. ;; )
  22.  
  23. ;; The first line and the last line must be exact.  Each of the packages
  24. ;; listed must be double quoted, have either an absolute path, or a relative
  25. ;; to the build src directory path *and* be bytecompiled prior to the attempt
  26. ;; to dump.
  27.  
  28. ;; Because this is a trial implementation and the file is shared with
  29. ;; make-docfiles, syntax is strict and unforgiving.  So sue me.  It
  30. ;; is still better than the way it used to be.
  31.  
  32. ;; Also note that site-packages belongs in the top level directory not the
  33. ;; lisp directory for use with --srcdir configurations.
  34.  
  35. ;;; Code:
  36. (defvar site-load-package-file "../site-packages"
  37.   "File name containing the list of extra packages to dump with XEmacs.")
  38. (defvar site-load-packages nil
  39.   "A list of .elc files that should be dumped with XEmacs.
  40. This variable should be set by `site-load-package-file'.")
  41.  
  42. ;; Load site specific packages for dumping with the XEmacs binary.
  43. (when (file-exists-p site-load-package-file) 
  44.   (let ((file))
  45.     (load site-load-package-file t t t)
  46.     ;; The `load-gc' macro is provided as a clue that a package is being loaded
  47.     ;; in preparation of being dumped into XEmacs.
  48.     (defmacro load-gc (file)
  49.       (list 'prog1 (list 'load file) '(garbage-collect)))
  50.     (message "Loading site-wide packages for dumping...")
  51.     (while site-load-packages
  52.       (setq file (car site-load-packages))
  53.       (load-gc file)
  54.       (setq site-load-packages (cdr site-load-packages)))
  55.     (message "Loading site-wide packages for dumping...done")
  56.     (fmakunbound 'load-gc)))
  57.  
  58. ;; This file is intended for end user additions.
  59. ;; Put other initialization here, like setting of language-environment, etc.
  60. ;; Perhaps this should really be in the site-init.el.
  61.  
  62. ;;; site-load.el ends here
  63.